package ch.uzh.ifi.seal.ssqa.metrics;

public interface IMetric {
	
	public String getIdentifier();
	
	public String getDescription();
	
	/**
	 * This method is only calculating the result, to actually get the result, the getResult Method should be called. 
	 * @param object - Every possible object can be passed to the method. The Metric tries to calculate a reasonable value.
	 * @return the metric itself.
	 */
	public IMetric calculateResult(Object object);
	
	/**
	 * Getting back the result. This method can be called as cascade of the calculateResult. But never before the calculateResult.
	 * @return
	 */
	public double getResult();
}
